Storage system and automatic renewal method of firmware

ABSTRACT

When the main power source is turned on, a storage system creates a revision table for storing the revision of main firmware installed in a resource management processor of the storage system. Next, the main firmware is loaded from a system drive into a cache memory. When the revision of the main firmware installed in the resource management processor is old, this main firmware is renewed to the main firmware loaded into the cache.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application relates to and claims priority from Japanese PatentApplication No. 2005-205201, filed on July 14, 2005, the entiredisclosure of which is incorporated herein by reference.

BACKGROUND

The present invention relates to a storage system and its automaticrenewal method of firmware.

With a database system that handles enormous amounts of data such as ina data center, data is managed with a storage system configuredseparately from a host computer. This storage system, for example, isconfigured from a disk array device or the like. A disk array device isconfigured by arranging numerous storage devices in an array and, forinstance, is created based on RAID (Redundant Array of IndependentInexpensive Disks). At least one or more logical volumes are formed onthe physical storage area provided by a storage device group, and thislogical volume is provided to the host system. The host system is ableto perform write access and read access to the logical volume.Meanwhile, after this kind of storage system is placed on the market, itis necessary to renew the firmware when defects are discovered in suchfirmware installed in the components of the storage system.

Incidentally, Japanese Patent Laid-Open Publication No. 2005-71042refers to the automatic download of firmware.

SUMMARY

Nevertheless, since a storage system is not deployed at the maintenancesite where the service parts are to be deployed, it is not easy to renewthe firmware installed in the components deployed as service parts to animproved version. Under existing circumstances, the renewal process iscomplex since all components deployed as service parts must be collectedand replaced with an improved version, or the revision of firmwareinstalled in the components deployed as service parts must be confirmedupon replacing such components.

The present invention was devised in view of the foregoing problems, andan object thereof is to facilitate the renewal of firmware installed inthe components deployed as service parts to an improved version.

In order to achieve the foregoing object, the storage system of thepresent invention has a controller for responding to an I/O request froma host system and controlling the input and output of data to and from astorage device; a resource management processor for managing a chassisresource; and a system drive for storing main firmware of the resourcemanagement processor. The controller performs comparative determinationfor comparing the revision of the main firmware installed in theresource management processor and the revision of the main firmwarestored in the system drive and, when the revision of the main firmwareinstalled in the resource management processor is older than therevision of the main firmware stored in the system drive, renews themain firmware installed in the resource management processor to the mainfirmware stored in the system drive.

When the storage system further has an FC/SATA converter, for the mainfirmware of the FC/SATA converter also, the controller performscomparative determination for comparing the revision of the mainfirmware installed in the FC/SATA converter and the revision of the mainfirmware stored in the system drive and, when the revision of the mainfirmware installed in the FC/SATA converter is older than the revisionof the main firmware stored in the system drive, renews the mainfirmware installed in the FC/SATA converter to the main firmware storedin the system drive.

As the opportunity for performing comparative determination of therevision of main firmware, for instance, at the time when the main powersource is turned on, when a chassis is added to the storage system, whenthe controller is replaced, when the main firmware stored in the systemdrive is renewed, when the resource management processor is replaced,when the FC/SATA converter is replaced and so on may be considered. Whenthe storage system is in an online state, the comparative determinationmay also be periodically repeated.

According to the present invention, when the revision of main firmwareinstalled in the storage system is old, since this will be automaticallyrenewed to the firmware of a new revision, the maintenance management ofthe storage system is facilitated thereby.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system configuration of a basic chassis of a storage systemaccording to the present embodiment;

FIG. 2 is a system configuration of an expanded chassis of a storagesystem according to the present embodiment;

FIG. 3 is a system configuration of an expanded chassis of a storagesystem according to the present embodiment;

FIG. 4 is a firmware configuration of an SES controller;

FIG. 5 is a firmware configuration of an enclosure;

FIG. 6 is a firmware configuration of a router;

FIG. 7 is a diagram showing the outline of the automatic download of themain firmware;

FIG. 8 is a flowchart showing the processing steps for automaticallydownloading the main firmware upon activating the device;

FIG. 9 is an explanatory diagram showing the contents of a revisiontable;

FIG. 10 is a flowchart showing the creation processing of a revisiontable;

FIG. 11 is a flowchart showing the automatic download processing of themain firmware;

FIG. 12 is an explanatory diagram of a module configuration formonitoring SES information;

FIG. 13 is an explanatory diagram showing the outline of the loop switchswitching processing when automatically renewing the main firmware to beinstalled in a router; and

FIG. 14 is a system configuration of a basic chassis of a storage systemaccording to the present embodiment.

DETAILED DESCRIPTION

Embodiments of the present invention are now explained with reference tothe drawings.

FIG. 1 shows the system configuration of a basic chassis 20 of a storagesystem 10 pertaining to the present embodiment. The storage system 10may be configured from a single piece of the basic chassis 20, orconfigured by connecting one or a plurality of expanded chassis to thebasic chassis 20. Details regarding the expanded chassis will beexplained later.

The storage system 10 is connected to one or a plurality of host systems60 via a communication network 61. The host system 60, for instance, isa business-use server system, workstation, mainframe, personal computeror the like. As the communication network 61, for example, SAN (StorageArea Network), LAN (Local Area Network), Internet, dedicated line,public line or the like may be used. When the host system 60 isconnected to the storage system 10 via a SAN, the host system 60,according to a fibre channel protocol, requests the data input/output inblock units, which is a data management unit of the storage resource ofthe storage system 10. When the host system 60 is connected to thestorage system 10 via a LAN, the host system 60 designates a file nameand requests the data input/output in file units based on a protocolsuch as NFS (Network File System). In order to receive the file accessrequest from the host system 60, it is necessary to equip the storagesystem 10 with a NAS (Network Attached Storage) function.

The basic chassis 20 has a plurality of FC (Fiber Channel) disk drives51, and controllers 30, 40 for controlling the data input/output to andfrom the plurality of FC disk drives 5.

The controllers 30, 40 are able to control the plurality of FC diskdrives 51 in a RAID level (0, 1, 5 for example) prescribed in aso-called RAID system. In a RAID system, the plurality of FC disk drives51 are managed as a single RAID group. A plurality of logical volumes,which are access units from the host system 60, are defined on the RAIDgroup. A LUN (Logical Unit Number) is assigned to each logical volume.The controllers 30, 40 and the plurality of FC disk drives 51 areconnected via a backboard 50.

The controller 30 has host interfaces (I/F) 301, 302, an FC controller(F-CTL) 303, a data controller (D-CTL) 304, a CPU/PCI bridge 305, a mainprocessor (MPU) 306, a local memory (LM) 307, a cache memory (CM) 308,an FC controller (F-CTL) 309, port bypass circuits (PBC) 310, 311, 312,313, FC-ALs (Fibre Channel Arbitrated Loop) 314, 315, FC paths 316, 317,318, 319 and an SES (SCSI Enclosure Service) controller 320.

The main processor 306 controls the I/O processing (write access or readaccess) to and from the plurality of FC disk drives 51 in response tothe I/O request from the host system 60. The local memory 307 storesvarious programs (main micro source file, etc.) of the main processor306, and also functions as the work area of the main processor 306. TheCPU/PCI bridge 305 mutually connects the main processor 306, localmemory 307 and data controller 304. The cache memory 308 is a buffermemory for temporarily storing the data to be written in the FC diskdrives 51, or the read data read from the FC disk drives 51. The cachememory 308 has a power source backup, and is configured as an involatilememory for preventing the loss of cache data even when there is a powersource failure in the storage system 10.

The FC controller 303 is a controller for controlling the host interfaceand, for instance, has a function of receiving the block access requestfrom the host system 60 based on the fibre channel protocol. Meanwhile,the FC controller 309 is a controller for controlling the backinterface, and controls the data input/output to and from the pluralityof FC disk drives 51. The data controller 304 mutually connects theCPU/PCI bridge 305, cache memory 308 and FC controllers 303, 309, andcontrols the data transfer between the host system 60 and FC disk drives51. Specifically, the data controller 304, in response to the writeaccess from the host system 60, writes the write data (dirty data)received from the host system 60 in the cache memory 308. Thereafter, atthe stage when the write data is accumulated to a certain degree in thecache memory 308, the data controller 304 asynchronously writes thewrite data thereof in the FC disk drives 51. Meanwhile, the datacontroller 304, in response to the read access from the host system 60,writes the read data read from the FC disk drives 51 in the cache memory308, and forwards this to the host system 60.

The FC controller 309 is connected to FC-ALs 314, 315 via port bypasscircuits 310, 311, respectively. The FC-AL 314 is connected toeven-numbered FC disk drives 51. The FC-AL 315 is connected toodd-numbered FC disk drives 51. When there is a loop failure in theFC-AL 314, the port bypass circuit 310 is able to switch the destinationfrom the FC-AL 314 to the FC path 316. Similarly, when there is a loopfailure in the FC-AL 315, the port bypass circuit 311 is able to switchthe destination from the FC-AL 315 to the FC path 317. When an expandedchassis is connected to the basic chassis 20, the port bypass circuit312 connects the FC-AL 314 to the subsequent stage FC path 318, and theport bypass circuit 313 connects the FC-AL 315 to the subsequent stageFC path 319.

The SES controller 320 has a resource management processor (RMP1) 321and an enclosure controller (E-CTL) 322.

The resource management processor 321 monitors and controls theresources of the basic chassis (controller 30, power source, battery,fan unit, panel switch, voltage monitor, panel LED, warning LED, etc.).For example, the resource management processor 321 monitors the voltageof the system based on a voltage monitor to detect an abnormal voltage.Or, the resource management processor 321 monitors the temperature ofthe controller 30 to detect an abnormal temperature. Or, the resourcemanagement processor 312 adjusts the system temperature by controllingthe rotating speed of the fan unit. Or, the resource managementprocessor 321 controls the blinking of the panel LED or warning LED. Or,the resource management processor 321 monitors the status of thebattery.

The enclosure controller 322 controls the SES drive. The SES drive hasthe function of SES or ESI (Enclosure Service I/F) prescribed in a SCSI3standard. In the present embodiment, among the plurality of FC diskdrives 51, the four FC disk drives DRV0, DRV1, DRV2, DRV3 are SESdrives. The enclosure controller 322 is communicably connected to the FCdisk drives DRV0, DRV2. The main processor 306 is able to acquire SESinformation by accessing the SES controller 320 via the SES drive. SESinformation includes monitoring information on resources of the basicchassis (for instance, temperature monitoring information, power sourcemonitoring information, communication failure information, connectioninformation of expanded chassis, etc.) or revision information of mainfirmware to be installed in the resource management processors 321, 421.

Meanwhile, the controller 40 has host interfaces (I/F) 401, 402, a FCcontroller (F-CTL) 403, a data controller (D-CTL) 404, a CPU/PCI bridge405, a main processor (MPU) 406, a local memory (LM) 407, a cache memory(CM) 408, a FC controller (F-CTL) 409, port bypass circuits (PBC) 410,411, 412, 413, FC-ALs 414, 415, FC paths 416, 417, 418, 419 and an SEScontroller 420. The SES controller 420 has a resource managementprocessor (RMP1) 421 and an enclosure controller (E-CTL) 422. Theenclosure controller 422 is communicably connected to the FC disk drivesDRV1, DRV3. Since the configuration of the controller 40 is the same asthe configuration of the controller 30, the detailed description thereofis omitted.

The data controllers 304, 404 of the respective controllers 30, 40 areconnected via a data bus 56, and the data transfer is controlled suchthat the same data is written in duplicate in two cache memories 308,408. Further, when the FC disk drives 51 are to be managed at RAID level5, the data controllers 304, 404 operate the parity data.

The port bypass circuits 310, 311, 410,411 are connected to the FC-ALs414, 415, 314, 315 via the alternate paths 52, 53, 54, 55, respectively.For instance, when there is a failure in the controller 30, the I/Orequest from the host system 60 received by the controller 30 issucceeded by the controller 40 via the alternate paths 52, 53.

The basic chassis 20 is connected to the management terminal (SVP) 70for maintaining and managing the system. By operating the managementterminal 70, a customer engineer may, for instance, set the logicalvolume defined on the FC disk drives 51, add or delete a FC disk drive51, change the setting of the RAID configuration (for example, changethe setting from RAID level 5 to RAID level 1), and so on. Further, themain firmware of the resource management processors 321, 421 can also besent from the management terminal 70 to the cache memories 308, 408. Themanagement terminal 70 may be built in the basic chassis 20, or may beconfigured to be provided externally.

FIG. 2 shows the system configuration of an expanded chassis to beconnected to the storage system 10 of the present embodiment. Theexpanded chassis 80 has enclosures 90, 100 and a plurality of FC diskdrives 111. The enclosures 90, 100 and the plurality of FC disk drives111 are connected via a backboard 110. The enclosures 90, 100 monitorand control the resources of the expanded chassis (power source,battery, fan unit, panel switch, voltage monitor, panel LED, warningLED, etc.).

The enclosure 90 has port bypass circuits (PBC) 901, 902, 903, 904,FC-ALs 905, 906, FC paths 907, 908, 909, 910, 911, 912, a resourcemanagement processor (RMP1) 913 and an enclosure controller (E-CTL) 914.

Each of the port bypass circuits 901, 902, 903, 904 is connected to thebasic chassis 20 or another expanded chassis via FC paths 909, 910, 911,912. The FC-AL 905 is connected to the even-numbered FC disk drives 111.The FC-AL 906 is connected to the odd-numbered FC disk drives 111. Whenthere is a loop failure in the FC-AL 905, the port bypass circuit 901 isable to switch the destination from the FC-AL 905 to the FC path 907.Similarly, when there is a loop failure in the FC-AL 906, the portbypass circuit 902 is able to switch the destination from the FC-AL 906to the FC path 908.

The resource management processor 913 monitors and controls theresources of the expanded chassis (enclosure 90, power source, battery,fan unit, panel switch, voltage monitor, panel LED, warning LED, etc.).For instance, the resource management processor 913 monitors the voltageof the system based on a voltage monitor to detect an abnormal voltage.Or, the resource management processor 913 monitors the temperature ofthe enclosure 90 to detect an abnormal temperature. Or, the resourcemanagement processor 913 adjusts the system temperature by controllingthe rotating speed of the fan unit. Or, the resource managementprocessor 913 controls the blinking of the panel LED or warning LED. Or,the resource management processor 913 monitors the status of thebattery.

The enclosure controller 914 controls the SES drive. In the presentembodiment, among the plurality of FC disk drives 111, the four FC diskdrives DRV0 DRV1, DRV2, DRV3 are SES drives. The enclosure controller914 is communicably connected to the FC disk drives DRV0, DRV2. The mainprocessor 306 of the basic chassis 20 is able to acquire SES informationby accessing the resource management processor 913 from FC-ALs 905, 906via the SES drive. SES information includes monitoring information ofthe resources of the expanded chassis (for instance, temperaturemonitoring information, power source monitoring information,communication failure information, connection information of expandedchassis, etc.) or revision information of main firmware to be installedin the resource management processor 913.

Meanwhile, the enclosure 100 has port bypass circuits (PBC) 1001, 1002,1003, 1004, FC-ALs 1005, 1006, FC paths 1007, 1008, 1009, 1010, 1011,1012, a resource management processor (RMP1) 1013 and an enclosurecontroller (E-CTL) 1014. The enclosure controller 1014 is communicablyconnected to the FC disk drives DRV1, DRV3. Since the configuration ofthe enclosure 100 is the same as the configuration of the enclosure 90,the detailed description thereof is omitted.

FIG. 3 shows the system configuration of an expanded chassis 120 to beconnected to the storage system 10 of the present embodiment. Theexpanded chassis 120 has routers 130, 140, and a plurality of SATA(Serial Advanced Technology Attachment) disk drives 152. The routers130, 140 and the plurality of SATA disk drives 152 are connected via abackboard 150. The routers 130, 140 enable the transparent accessbetween an FC protocol and SATA protocol, and also monitor and controlthe resources of the expanded chassis (power source, battery, fan unit,panel switch, voltage monitor, panel LED, warning LED, etc.).

The router 130 has a port bypass circuit (PBC) 1301, an FC/SATAconverter 1302, a resource management processor (RMP2) 1303 and FC paths1304, 1305.

The port bypass circuit 1301 is connected to the basic chassis 20 oranother expanded chassis via the FC paths 1304, 1305. The FC/SATAconverter 1302 has a function of converting the FC protocol into SATAprotocol, and a function of converting the SATA protocol into FCprotocol. Thereby, the controllers 30, 40 of the basic chassis 20 willrecognize the SATA disk drive 152 as though it is directly connected inthe FC loop. The FC/SATA converter 1302 is connected to theeven-numbered SATA disk drives 152 via a path switch 151. The pathswitch 151 has two ports, and, although it is usually connected to anoperating path, when there is a failure, it switches to a standby pathbased on the control of the FC/SATA converter 1302.

The resource management processor 1303 monitors and controls theresources of the expanded chassis (router 130, power source, battery,fan unit, panel switch, voltage monitor, panel LED, warning LED, etc.).For instance, the resource management processor 1303 monitors thevoltage of the system based on a voltage monitor to detect an abnormalvoltage. Or, the resource management processor 1303 monitors thetemperature of the router 130 to detect an abnormal temperature. Or, theresource management processor 1303 adjusts the system temperature bycontrolling the rotating speed of the fan unit. Or, the resourcemanagement processor 1303 controls the blinking of the panel LED orwarning LED. Or, the resource management processor 1303 monitors thestatus of the battery. The main processor 306 of the basic chassis 20 isable to acquire SES information by accessing the resource managementprocessor 1303. SES information includes monitoring information onresources of the basic chassis (for instance, temperature monitoringinformation, power source monitoring information, communication failureinformation, connection information of expanded chassis, etc.) orrevision information of main firmware to be installed in the resourcemanagement processor 1303.

Meanwhile, the router 140 has a port bypass circuit (PBC) 1401, anFC/SATA converter 1402, a resource management processor (RMP2) 1403 andFC paths 1404, 1405. The FC/SATA converter 1402 is connectedodd-numbered SATA disk drives 152 via a path switch 151. Since theconfiguration of the router 140 is the same as the configuration of therouter 130, the detailed description thereof is omitted.

The routers 130, 140 are connected via an internal path 161, and the I/Orequest from the host system 60 can be routed between the routers 130,140. For example, when the router 130 receives from the host system 60an access to the logical volume to be processed by the router 140, theI/O request received by the router 130 can be implemented with therouter 140 via the internal path 161 by requesting the router 140 toperform such processing.

Further, the resource management processors (RMP2) 1303, 1403 areconnected via a hotline 162, and they each can block or reboot theother.

FIG. 4 shows the firmware configuration of the SES controller 320. Theesource management processor 321 is loaded with main firmware 2001 forthe esource management processor, and a self test program 2002. Theenclosure controller 322 is loaded with main firmware 2003 for theenclosure controller. The firmware configuration of the SES controller420 is also the same.

FIG. 5 shows the firmware configuration of the enclosure 90. Theresource management processor 913 is loaded with main firmware 2001 forthe resource management processor, and a self test program 2002. Theenclosure controller 914 is loaded with main firmware 2003 for theenclosure controller. The firmware configuration of the enclosure 100 isalso the same.

FIG. 6 shows the firmware configuration of the router 130. The FC/SATAconverter 1302 is loaded with main firmware 2004 for the FC/SATAconverter, a self test program 2005, a boot program 2006, and variousparameters 2007. The resource management processor 1303 is loaded withmain firmware 2008 for the resource management processor. The firmwareconfiguration of the router 140 is also the same.

Among the firmware described above, the main firmware 2001, 2004, 2008can be renewed via the automatic download of the present embodiment.Details regarding the automatic download will be described later.

Incidentally, since the self test programs 2002, 2005, boot program 2006and parameters 2007 can be renewed offline, these are not subject to theautomatic download in the present embodiment. Further, since afundamental logical circuit is built in the enclosure controllers 322,914, it would hardly be useful to renew the main firmware 2003. Thus, inthe present embodiment, the main firmware 2003 for the enclosurecontroller will not be subject-to the automatic download. Nevertheless,the self test programs 2002, 2005, boot program 2006, parameters 2007and main firmware 2003 may also be subject to the automatic download.

FIG. 7 shows the outline of the automatic download of main firmware. Thelow from creating an automatic download file to renewing the mainfirmware is now explained with reference to FIG. 7. Foremost, the mainfirmware 3001 for automatic download including the foregoing mainfirmware 2001, 2004, 2008 is subject to C source conversion, and this isadded to the main micro source file 3002 for the main processors 306,406 of the basic chassis 20 then subject to SI in order to create aninstallation file 3003. The installation file 3003 includes a residentmodule 3004, a transient module 3005 and a boot program 3006. Theresident module 3004 includes a main micro source file 3002, and mainfirmware 3001 for automatic download. The installation file 3003 isinstalled in a system area 3007 of the FC disk drives 51 of the basicchassis 20. In the present embodiment, among the plurality of FC diskdrives 51, five FC disk drives 51 are used as the system drive, and thesame installation file 3003 is installed in the system area 3007 of therespective system drives. The system area 3007 includes a program area3008 for storing the installation file 3003, and a management block 3009for storing management information.

When the main power source of the basic chassis 20 is turned on and thedevice is activated, the resident module 3004 is read from the systemarea 3007 and stored in the local memory 307. The local memory 307further stores the revision table 3010. The revision table 3010 containsrevision information of the main firmware 2001, 2004, 2008 installed inthe SES controllers 320, 420 of the basic chassis 20, the enclosures 90,100 of the expanded chassis 80, or the routers 130, 140 of the expandedchassis 120. The method of creating the revision table 3010 is describedlater.

The resident module 3004 stored in the local memory 307 is divided intothe main firmware 3001, list file 3011 indicating the file names of eachmain firmware 2001, 2004, 2008 included in the main firmware 3001, andrevision information 3012 of each main firmware 2001, 2004, 2008.

The main processors 306, 406 performs comparative determination ofcomparing the revision table 3010 and revision information 3012,downloads the main firmware when the revision of the main firmware 2001,2004, 2008 installed in the SES controllers 320, 420 of the basicchassis 20, enclosures 90,100 of the expanded chassis 80, or the routers130, 140 of the expanded chassis 120 is older than the revisioninformation 3012, and renews the main firmware of the old revision tothe main firmware of the new revision.

FIG. 8 is a flowchart showing the processing steps for automaticallydownloading the main firmware upon activating the device. The automaticdownload upon activating the device is now explained with reference toFIG. 8. Foremost, when the power source is turned on (S101), the storagesystem 10 performs initialization (S102), and then creates the revisiontable 3010 (S103). Next, the resident module 3004 is read from thesystem area 3007, and the main firmware 3001, list file 3011 andrevision information 3012 are stored in the cache memory 308 (S104).When the storage system 10 is activated normally, the system enters aReady state (S105). When the revision of the main firmware 2001, 2004,2008 installed in the SES controllers 320, 420 of the basic chassis 20,the enclosures 90, 100 of the expanded chassis 80, or the routers 130,140 of the expanded chassis 120 is older than the revision information3012, the automatic download of the main firmware is performed (S106).

Meanwhile, when the revision of the main firmware 2001, 2004, 2008installed in the SES controllers 320, 420 of the basic chassis 20, theenclosures 90, 100 of the expanded chassis 80, or the routers 130, 140of the expanded chassis 120 is the same as or newer than the revisioninformation 3012, the automatic download of the main firmware is notperformed.

Incidentally, when the storage system 10 is not activated normally, thesystem enters a Warning state, and the automatic download of the mainfirmware 2001, 2004, 2008 is not performed. In the followingexplanation, the time before the storage system 10 enters the Readystate is referred to as an offline state, and the time after enteringthe Ready state is referred to as an online state. In an offline state,although the storage system 10 is not able to respond to the I/O requestfrom the host system 60, if it is in an online state, the storage system10 is able to respond to the I/O request from the host system 60.

FIG. 9 shows the contents of the revision table 3010. In the presentembodiment, unit number 0 is assigned to the basic chassis 20, and unitnumbers 1, 2, 3, . . . are assigned to the expanded chassis 80 or 120.In the example illustrated in FIG. 9, the expanded chassis 80 andexpanded chassis 120 are connected to the basic chassis 20. Unit number1 is assigned to the expanded chassis 80 to be connected to the basicchassis 20. Unit number 2 is assigned to the expanded chassis 120 to beconnected to the expanded chassis 80.

Classification information is information for distinguishing the basicchassis 20 and expanded chassis 80, 120. “DKC” represents the basicchassis 20, “FC” represents the expanded chassis 80, and “AT” representsthe expanded chassis 120.

Model information is information for distinguishing a new model and anold model. For instance, in consideration of a case where the mainfirmware 2001, 2004, 2008 subject to downloading in a new model will notbe subject to downloading in an old model, the basic chassis 20 andexpanded chassis 80, 120 are distinguished as an old model or a newmodel, respectively. For instance, there may be a case where the oldmodel is designed so that only the main firmware 2004 of the FS/SATAconverters 1302, 1402 mounted on the expanded chassis 120 is subject tothe automatic download, and the new model is designed so that all mainfirmware 2001, 2004, 2008 are subject to the automatic download. Sincewhich main firmware should be subject to the automatic download is amatter of design, this is not limited to the foregoing example.

The “0” of #ENC represents the controller 30 regarding the basic chassis20, and “1” represents the controller 40. The “0” of #ENC represents theenclosure 90 regarding the expanded chassis 80, and “1” represents theenclosure 100. The “0” of #ENC represents the router 130 regarding theexpanded chassis 120, and “1” represents the router 140.

RMP1 represents the resource management processors 321, 421, 913, 1013.RMP2 represents the resource management processors 1303, 1403. FC/SATArepresents the FC/SATA converters 1302, 1402. A1, A2, B2, C1, C2 in FIG.9 represent the revision of the main firmware 2001, 2004, 2008. Forinstance, the revision of the main firmware 2001 installed respectivelyin the resource management processors 321, 421 of the controllers 30, 40of the basic chassis 20 is A2. The revision of the main firmware 2001installed respectively in the resource management processors 913, 1013of the enclosures 90, 100 of the expanded chassis 80 is A1. The revisionof the main firmware 2008 installed respectively in the resourcemanagement processors 1303,1403 of the routers 130, 140 of the expandedchassis 120 is B2. The revision of the main firmware 2004 installed inthe FC/SATA converter 1302 of this chassis 120 is C1, and the revisionof the main firmware 2004 installed in the FC/SATA converter 1402 is C2.

The revision table 3010 is created by the main processors 306, 406, uponthe activation of the device, accessing the SES controllers 320, 420 ofthe basic chassis 20, the enclosures 90, 100 of the expanded chassis 80,and the routers 130, 140 of the expanded chassis 120 and acquiring therevision information of the main firmware 2001, 2004, 2008.

FIG. 10 is a flowchart showing the processing steps for creating therevision table 3010. The procedures for creating the revision table 3010are now explained with reference to FIG. 10. Foremost, one is countedeach time the loop processing of S202 to S209 described later isperformed, and whether the count number is equal to the number ofchassis is determined (S201). The number of chassis is to total numberof chassis including the basic chassis 20 and the expanded chassis 80 or120.

When the count is less than the number of chassis (S201; NO), whetherthe loop processing of S203 to S209 has been repeated twice isdetermined (S202). The reason for repeating the loop processing of S203to S209 twice is because there are a total of two SES controllers 320,420 installed in the basic chassis 20, a total of two enclosures 90, 100installed in the expanded chassis 80, and a total of two routers 130,140 installed in the expanded chassis 120.

When the loop processing of S203 to S209 has been performed less thantwice (S202; NO), whether each chassis is an old model is determined(S203). Whether each chassis is an old model or a new model can bedetermined by accessing each chassis via SES and acquiring SESinformation.

When the chassis is an old model (S203; YES), whether this chassis is anFC chassis is determined (S204). An FC chassis is a chassis, such as thebasic chassis 20 or expanded chassis 80, loaded with FC disk drives.When the chassis is an FC chassis (S204; YES), revision of the mainfirmware 2001 is determined (S205), and, when it is not an FC chassis(S204; NO), revision of the main firmware 2004, 2008 is determined(S206).

Meanwhile, when the chassis is a new model (S203; NO), whether thischassis is an FC chassis is determined (S207). When the chassis is an FCchassis S207; YES), revision of the main firmware 2001 is determined(S208), and, when it is not an FC chassis (S207; NO), revision of themain firmware 2004, 2008 is determined (S209).

FIG. 11 is a flowchart showing the automatic download processing of themain firmware. As shown in FIG. 11, the automatic download processinghas a three-step program sequence. In sequence #1, interface controlwith the enclosures 90, 100 and routers 130, 140 is performed (S301 toS305). In sequence #2, the download sequence of the main firmware 2001,2004, 2008 is performed (S401 to S406). In sequence #3, the commandissue sequence is performed (S501 to S511).

When the system enters a Ready state, the main processors 306, 406perform backend monitoring (S301). Backend monitoring includes themonitoring of basic chassis resources and resources of the expandedchassis (for example, temperature monitoring, power source monitoring,communication failure monitoring, expanded chassis connectionmonitoring, etc.), or the revision check of the main firmware 2001,2004, 2008. As described above, when the revision of the main firmware2001, 2004, 2008 installed in the basic chassis 20 and the expandedchassis 80, 120 is older than the revision of the main firmware 2001,2004, 2008 stored in the system area 3007, foremost, the automaticdownload of the main firmware 2004, 2008 is performed (S302), and,subsequently, the automatic download of the main firmware 2001 isperformed (S303).

Thereafter, the main processors 306, 406 check the revision to confirmwhether the automatic download has been performed normally (S304). Whenthe automatic download is performed normally, next, diagnosticprocessing regarding whether the enclosures 90, 100 can functionnormally is performed (S305).

In the automatic download processing of the main firmware 2004, 2008(S302), the automatic download processing of the main firmware 2008(S401) and the automatic download processing of the main firmware 2004are performed (S403).

Incidentally, when the system is offline, in addition to the downloadprocessing of the main firmware 2004, 2008 (S401, S403), downloadprocessing of the parameter 2007 (S402), download processing of the bootprogram 2006 (S404), and download processing of the self test program2005 (S405) may also be executed. By transmitting the main firmware2001, 2004, 2008, parameter 2007, boot program 2006 and self testprogram 2005 from the management terminal 70 to the expanded chassis 80,the download can be performed offline.

In the automatic download processing of the main firmware 2001 (S303),the automatic download processing of the main firmware 2001 (S406) isperformed.

In the automatic download processing of the main firmware 2008 (S401),the main processors 306, 406 issue a download start command to theresource management processors (RMP2) 1303, 1403 (S501) and, bysubsequently issuing a data frame command, transmit the main firmware2008 to the resource management processors (RMP2) 1303, 1403 (S502).Next, the main processors 306, 406 issue a download end command andreboot the resource management processors (RMP2) 1303, 1403 (S503).Next, the main processors 306, 406 issue a status read command and checkthe status of the resource management processors (RMP2) 1303, 1403(S504). Finally, the main processors 306, 406 issue a receive commandand check whether the automatic download has been completed normally(S505).

In the download processing of the parameter 2007 (S402), downloadprocessing of the main firmware 2004 (S403), download processing of theboot program 2006 (S404) and download processing of the self testprogram 2005 (S405), the main processors 306, 406, after respectivelytransmitting the parameter 2007, main firmware 2004, boot program 2006and self test program 2005 to the FC/SATA converters 1302, 1402, issue awrite buffer command, and reboot the FC/SATA converters 1302, 1402(S506).

Even during the automatic download processing of the main firmware 2001(S406), similarly, the main processors 306, 406 issue a download startcommand (S507), issue a data frame command (S508), issue a download endcommand (S509), issue a status read command (S510), and issue a receivecommand (S511).

Incidentally, although the foregoing explanation illustrated a case ofimplementing the automatic download of the main firmware 2001, 2004,2008 at the time when the device is activated, in addition thereto, forexample, four events may be used as the opportunity of implementing theautomatic download of the main firmware 2001, 2004, 2008.

-   -   (1) When a chassis is added with the system in an online state;    -   (2) When the components of the controller 30, 40 of the basic        chassis 20 are replaced with the system in an online state;    -   (3) When the installation file 3003 of the system area 3007 is        renewed with the system in an online state; or    -   (4) When the SES controllers 320, 420, enclosures 90, 100 and        routers 130, 140 are subject to maintenance and replaced with        the system in an online state.

FIG. 12 shows the module configuration for monitoring SES information. Akernel 4000 operating on the main processors 306, 406 activates abackend monitoring module 4001 periodically (for instance, in two secondintervals) in order to collect SES information. The backend monitoringmodule 4001 activates a command issue control module 4002. The commandissue activation module 4002 issues an SES command to the SEScontrollers 320, 420 of the basic chassis 20, the enclosures 90, 100 ofthe expanded chassis 80, or the routers 130, 140 of the expanded chassis120, and stores the SES information in an SES information collectiontable 4003. The backend monitoring module 4001 determines whether therevision of the main firmware 2001, 2004, 2008 previously installed inthe storage system 10 is new or old by referring to the networkconfiguration table 4004 storing the network configuration (includingthe revision table 3010) of the storage system 10, and the SESinformation table 4003 storing SES information. When the four eventsdescribed above occur, the revision of the main firmware 2001, 2004,2008 installed in the storage system 10 and the revision of the mainfirmware 2001, 2004, 2008 contained in the resident module 3004 may notcoincide. When the revision of the main firmware 2001, 2004, 2008previously installed in the storage system 10 is old, the mainprocessors 306, 406 will perform the automatic download of the mainfirmware 2001, 2004, 2008.

FIG. 13 shows the outline of the loop switch switching processing uponrenewing the main firmware 2004 of the router 130 of the expandedchassis 120 via automatic download. Since the routers 130, 140constitute a part of the FC loop, for example, upon renewing the mainfirmware 2004 of the router 130, the FC loop to which the router 130belongs will become temporarily disabled, and the 110 request from thehost system 60 cannot be processed. Thus, in such a case, it isnecessary to switch the loop switch to the router 140.

Foremost, in order to block the router 130, a nonresponse command istransmitted from the controller 30 to the resource management processor1303 via the FC/SATA converter 1302, internal path 161, FC/SATAconverter 1402, resource management processor 1403 and hotline 162 (S1).When the resource management processor 1303 becomes nonresponding, atimeout error will occur, this will be judged as a failure in theFC/SATA converter 1302, and the router 130 will be blocked thereby.

Next, the handling of processing of the SATA disk drive 152 that wasassigned to the router 130 is switched to the router 140, and a localpath fail over is generated (S2). Next, loop switching is implemented(S3), and the I/O request from the host system 60 is implemented withthe router 140. Next, at the stage when the automatic download of themain firmware 2004 to the router 130 is completed, a reset cancel signalis transmitted from the controller 40 to the resource managementprocessor 1303 via the FC/SATA converter 1402, resource managementprocessor 1403 and hotline 162 (S4). The FC/SATA converter 1302 isrebooted thereby.

Next, the handling of processing of the SATA disk drive 152 that wasassigned to the router 140 is returned to the router 130 (S5), and thediagnosis regarding whether the router 130 will function normally isimplemented via the internal path 161 (S6). Next, the chassis resourceinformation and the like in the router 140 is transmitted to the router130 via the internal path 161, and a common field setting (succession ofchassis resource information) is conducted. Finally, loop switching isperformed (S7), and the I/O processing to and from the SATA disk drive152 handled by the router 130 is controlled such that the router 130will perform such processing once again.

Incidentally, in order to renew the main firmware 2004 of the router 140via automatic download, a nonresponse command is transmitted from thecontroller 30 to the resource management processor 1403 via the FC/SATAconverter 1302, resource management processor 1303 and hotline 162 inorder to block the router 140 and automatically renew the main firmware2004, and, thereafter, by the resource management processor 1303transmitting a reset cancel signal to the resource management processor1403 via the hotline 162, the FC/SATA converter 1402 can be rebootedthereby.

In the foregoing explanation, although a case was illustrated where anonresponse command is transmitted by the resource management processor1403 to the resource management processor 1303 via the hotline 162 inorder to block the router 130, the FC/SATA converter 1302 can also berebooted by transmitting a reboot command from the controller 30 to theFC/SATA converter 1302.

Further, in the foregoing explanation, although the basic chassis 20having a plurality of FC disk drives 51 was exemplified as the basicchassis of the storage system 10, as shown in FIG. 14, a basic chassis170 having a plurality of SATA disk drives 202 may also be used. InFIG.14, the devices which have the same reference numeral as the devicesdepicted in FIG. 1 are the same, and the detailed explanation thereof isomitted.

The basic chassis 170 has a plurality of SATA disk drives 202, andcontrollers 180, 190 for controlling the input and output of data to andfrom the plurality of SATA disk drives 202. The controllers 180, 190 andthe plurality of SATA disk drives 202 are connected via a backboard 200.

The controller 180 has a main processor (MPU) 1801, a CPU/PCI bridge1802, a local memory (LM) 1803, a data controller (D-CTL) 1804, a cachememory (CM) 1805, an FC controller (F-CTL) 1806, port bypass circuits1807, 1808, 1809, host interfaces (I/F) 1810, 1811, an FC/SATA converter1812, a resource management processor (RMP) 1813 and an FC path 1814.

Similarly, the controller 190 has a main processor (MPU) 1901, a CPU/PCIbridge 1902, a local memory (LM) 1903, a data controller (D-CTL) 1904, acache memory (CM) 1905, an FC controller (F-CTL) 1906, port bypasscircuits 1907, 1908, 1909, host interfaces (I/F) 1910, 1911, an FC/SATAconverter 1912, a resource management processor (RMP) 1913 and an FCpath 1914.

The FC/SATA converter 1812 is connected to even-numbered SATA diskdrives 202 via a path switch 201. The FC/SATA converter 1912 isconnected to odd-numbered SATA disk drives 202 via a path switch 201.When an expanded chassis is connected to the basic chassis 170, eachcontroller 180, 190 is connected to the expanded chassis via the FCpaths 1814, 1914.

Further, the data controllers 1804, 1904 of the respective controllers180, 190 are connected via a data bus 205, and data transfer iscontrolled such that the same data is written in duplicate in two cachememories 1805, 1905.

The port bypass circuits 1808, 1908 are connected with two alternatepaths 203, 204, and, for instance, are configured to realize a fail overto the controller 190 when a failure occurs to the controller 180.

Incidentally, the resource management processors (RMP2) 1813, 1913 areloaded with main firmware 2008.

The storage system 10 may be configured from a single piece of basicchassis 170, or configured by connecting one or a plurality of expandedchassis 80 or expanded chassis 120 to the basic chassis 170. In eithercase, the method of automatically download the main firmware is the sameas the method described above.

According to the present embodiment, when the components deployed asservice parts of the controllers 30, 40, 180, 190, enclosures 90, 100 orrouters 130, 140 are replaced, if the revision of the main firmware2001, 2004, 2008 is old, since this can be automatically replaced withthe main firmware 2001, 2004, 2008 of new revision, maintenancemanagement is facilitated. Further, since the main firmware 2001, 2004,2008 will be managed together with the main micro source file 3002 ofthe main processors 30, 406, 1801, 1901, maintenance management isfacilitated.

1. A storage system, comprising: a controller for responding to an I/Orequest from a host system and controlling the input and output of datato and from a storage device; a resource management processor formanaging a chassis resource; and a system drive for storing mainfirmware of said resource management processor; wherein said controllerperforms comparative determination for comparing the revision of themain firmware installed in said resource management processor and therevision of the main firmware stored in said system drive and, when therevision of the main firmware installed in said resource managementprocessor is older than the revision of the main firmware stored in saidsystem drive, renews the main firmware installed in said resourcemanagement processor to the main firmware stored in said system drive.2. The storage system according to claim 1, further comprising anFC/SATA converter; wherein the main firmware of said FC/SATA converteris stored in said system drive; and said controller performs comparativedetermination for comparing the revision of the main firmware installedin said FC/SATA converter and the revision of the main firmware storedin said system drive and, when the revision of the main firmwareinstalled in said FC/SATA converter is older than the revision of themain firmware stored in said system drive, renews the main firmwareinstalled in said FC/SATA converter to the main firmware stored in saidsystem drive.
 3. The storage system according to claim 1, furthercomprising a local memory; wherein the main micro source file of saidcontroller is stored in said system drive together with the mainfirmware of said resource management processor; and said controllerloads said main firmware, together with said main micro source file, insaid local memory.
 4. The storage system according to claim 1, whereinsaid controller performs said comparative determination at the time whenthe main power source is turned on.
 5. The storage system according toclaim 1, wherein said storage system is configured from a basic chassisand one or a plurality of expanded chassis; and said controller performssaid comparative determination at the time when a chassis is added withsaid storage system in an online state.
 6. The storage system accordingto claim 1, wherein said controller performs said comparativedetermination at the time when said controller is replaced with saidstorage system in an online state.
 7. The storage system according toclaim 3, wherein said controller performs said comparative determinationat the time when said main micro source file stored in said system driveis renewed together with said main firmware with said storage system inan online state.
 8. The storage system according to claim 1, whereinsaid controller performs said comparative determination at the time whensaid resource management processor is replaced with said storage systemin an online state.
 9. The storage system according to claim 2, whereinsaid controller performs said comparative determination at the time whensaid FC/SATA converter is replaced with said storage system in an onlinestate.
 10. The storage system according to claim 1, wherein saidcontroller periodically repeats said comparative determination with saidstorage system in an online state.
 11. An automatic renewal method offirmware of a storage system, comprising the steps of: acquiring therevision of main firmware installed in a resource management processorfor performing resource management of the storage system; acquiring therevision of main firmware of said resource management processor storedin a system drive of said storage system; performing comparativedetermination for comparing the revision of main firmware installed insaid resource management processor and the revision of main firmwarestored in said system drive; and renewing the main firmware installed insaid resource management processor to the main firmware stored in saidsystem drive when the revision of the main firmware installed in saidresource management processor is older than the revision of the mainfirmware stored in said system drive.
 12. An automatic renewal method offirmware of a storage system, comprising the steps of: acquiring therevision of main firmware installed in a FC/SATA converter of saidstorage system; acquiring the revision of main firmware of said FC/SATAconverter stored in a system drive of said storage system; performingcomparative determination for comparing the revision of main firmwareinstalled in said FC/SATA converter and the revision of main firmwarestored in said system drive; and renewing the main firmware installed insaid FC/SATA converter to the main firmware stored in said system drivewhen the revision of the main firmware installed in said FC/SATAconverter is older than the revision of the main firmware stored in saidsystem drive.
 13. The automatic renewal method of firmware of a storagesystem according to claim 11, wherein said comparative determination isperformed at the time when the main power source is turned on.
 14. Theautomatic renewal method of firmware of a storage system according toclaim 11, wherein said comparative determination is performed at thetime when a chassis is added with said storage system in an onlinestate.
 15. The automatic renewal method of firmware of a storage systemaccording to claim 11, wherein said comparative determination isperformed at the time when said controller is replaced with said storagesystem in an online state.
 16. The automatic renewal method of firmwareof a storage system according to claim 12, wherein said comparativedetermination is performed at the time when said FC/SATA converter isreplaced with said storage system in an online state.
 17. The automaticrenewal method of firmware of a storage system according to claim 11,wherein said comparative determination is periodically repeated withsaid storage system in an online state.